const express = require('express');
const fs = require('fs');
const path = require('path');

//创建应用：
const app = express();


//监听端口:
app.listen(3000,()=>{
    console.log('web服务器工作在3000端口');
});


// app.get('/',(req,res)=>{

//     res.send('这是主界面');
// });


//app.all():匹配所有请求方式(比如：get、post)
// app.all('/mytest',(req,res)=>{

//     res.send(`app.all()方法`);
// });


app.post('/mytest',(req,res)=>{

    res.send(`mytest....`)
});

//匹配post方式发送的请求：app.post('路径',回调方法);  
app.post('/postdemo',(req,res)=>{
    


    res.send(`post请求`);
});


//显示用户登录界面：
app.get('/denglu',(req,res)=>{

    // res.send('这是登录界面');
    //读取login.html文件的内容：
  // let str =  fs.readFileSync(path.join(__dirname,'login.html'));
  // res.end(str);

     //res.sendFile('文件绝对路径')：将某个内容读取出来并作为响应返回给客户端(浏览器)
     res.sendFile(path.join(__dirname,'login.html'));
});


//处理用户登录：
app.get('/dengluaction',(req,res)=>{

    //get方式的查询字符串格式发送的参数如下：
    // http://localhost:3000/dengluaction?usr=zhangsan&pwd=1234

    //req.query:接收以get方式的查询字符串格式发送的参数：
    console.log(req.query);

    //接收客户端以get方式发送的参数(用户输入的帐号及密码)：
    // let obj = req.query;
    let {usr,pwd} = req.query;
    
    if(usr == 'zhangsan' && pwd == '1234'){
       res.send(`登录成功`);
    }else{
      //  res.send(`登录失败`);
      res.send(`<script>alert('登录失败');location.href='/denglu';</script>`);
    }

   
});


//接收get方式的path路径格式发送的参数：
app.get('/mydemo/:uname/:id/:age',(req,res)=>{

    //get方式的path路径格式发送的参数如下：
   //  http://localhost:3000/mydemo/lisi/321/18

    //接收get方式的path路径格式发送的参数：req.params
    console.log(req.params);
    let {uname='',id='',age=''} = req.params;    

    //res.send('ok');  //res.setHeader()

    //报错： Cannot set headers after they are sent to the client
    res.send(`Hello.... get方式的path路径格式发送的参数:${uname} ${id}  ${age}`);    //res.setHeader()
});

//处理404错误：
app.all('*',(req,res)=>{
    res.send(`Sorry,发生了404错误`);
});